package com.hmusic.mymusic.service;

import com.hmusic.mymusic.domain.Consumer;

import java.util.List;

/**
 * 用户service接口
 */
public interface ConsumerService {
    /**
     * 添加用户(管理员添加)
     */
    void insert(Consumer consumer);

    /**
     * 用户注册（用户）
     * @param consumer
     *
     */
    void register(Consumer consumer);

    /**
     * 修改用户
     */
    void update(Consumer consumer);

    /**
     * 删除用户
     */
    void delete(String id);

    /**
     * 根据主键查询整个对象
     */
    Consumer selectByPrimaryKey(String id);

    /**
     * 查询所有用户
     */
    List<Consumer> allConsumer();

    /**
     * 根据用户名模糊查询
     */
    List<Consumer> selectByUserName(String username);

    /**
     * 根据邮箱查询一个用户（判断登录）
     */
    Consumer oneConsumerByEmail(Consumer consumer);

    /**
     * 根据邮箱查询一个用户（发送验证码之前）
     */
    Consumer oneConsumerByEmailCode(String email);

    /**
     * 计算用户数量
     */
    int consumerCount();

    /**
     * 计算各个性别的用户数量
     */
    int consumerSexCount(String sex);

}
